#include <iostream>
#include <cstdio>
#include <vector>

#include <unistd.h>

#include <muduo/base/Atomic.h>
#include <muduo/base/Logging.h>
#include <muduo/base/Thread.h>
#include <muduo/base/ThreadPool.h>
#include <muduo/base/ThreadLocalSingleton.h>
#include <muduo/net/EventLoop.h>
#include <muduo/net/InetAddress.h>

#include <boost/bind.hpp>
#include <boost/function.hpp>

using namespace std;
using namespace muduo;
using namespace muduo::net;

//这个仅仅只是使用pf_ring对数据包进行抓取
//这里不做分流处理，仅仅只是简单的one eventloop one thread
//的方式有几个接口就有几个线程，然后统一在onMessage事件
//中将数据扔给数据分析线程进行处理，实现数据采集和分析的
//分离。
//基本的观点是，一次pfring_open打开后，数据由一个
//线程处理也就是不能多个线程同时打开一个设备
//pfring底层为了支持多线程实现了信号量的锁机制，这
//对性能会有影响
//目前思路是在muduo的基础上将pfring集成进来做一个抓包服务器，
//以链接库的方式提供。也就是可以看作是muduo库的一个扩展。
//总体实现思路参考 tcpserver的实现。
class DataCaptureServer
{

};
